Processi Decisionali di Markov
★★★☆☆ Chiesto direttamente solo a tratti (MRP con Bellman, vero/falso, modellazione), ma è il prerequisito di tutti gli esercizi di reinforcement learning.
Con questo capitolo si apre la seconda parte del corso, dedicata ai problemi di decisione sequenziale e al reinforcement learning. Il cambio di prospettiva rispetto all’apprendimento supervisionato è radicale: non c’è più un dataset di esempi con la risposta corretta, ma un agente che interagisce con un ambiente, prova azioni, riceve valutazioni numeriche (reward) e deve imparare da solo un comportamento che massimizzi la qualità complessiva delle sue scelte nel tempo. Prima di poter parlare di algoritmi di apprendimento serve però un linguaggio matematico per descrivere il problema, ed è esattamente il contenuto di questo capitolo: il Processo Decisionale di Markov (Markov Decision Process, MDP). Il percorso parte dall’intuizione, formalizza l’ambiente attraverso la gerarchia processo di Markov, Markov Reward Process, MDP, definisce return e discount factor, introduce policy e value function, deriva le equazioni di Bellman con la loro soluzione in forma chiusa, affronta la nozione di policy ottima e arriva alle equazioni di ottimalità di Bellman, la cui non linearità è la porta d’ingresso agli algoritmi dei capitoli successivi; chiude un esempio interamente svolto su un piccolo MDP.
Riferimenti sul testo: Sutton e Barto, Reinforcement Learning: An Introduction, capitolo 3. Materiale complementare consigliato: il corso online Fundamentals of Reinforcement Learning (Coursera), su cui è modellata la presentazione di questi argomenti.
1. Imparare agendo: un tipo di apprendimento diverso#
1.1 Feedback istruttivo contro feedback valutativo#
Nell’apprendimento supervisionato il modello viene addestrato fornendogli l’output corretto: per ogni input del training set c’è la risposta giusta, e imparare significa avvicinarsi il più possibile a quella risposta. Alla domanda “qual è il nome dell’azienda che ha sviluppato ChatGPT?” corrisponde una e una sola risposta corretta, “OpenAI”, e il confronto tra output del modello e risposta corretta è ben definito.
Molti problemi reali non hanno questa struttura. Si pensi alla richiesta “scrivi un tweet di 140 caratteri su ChatGPT”: non esiste il tweet corretto. Esistono tweet migliori e tweet peggiori, e al massimo si può assegnare a ciascun output un punteggio, un voto, una preferenza. Il concetto di “giusto o sbagliato” viene sostituito dal concetto di “quanto è buono”: non si fornisce più al modello la soluzione, ma una valutazione della soluzione che il modello ha prodotto.
Idea chiave: nel reinforcement learning il modello non riceve mai l’output corretto, riceve solo un giudizio numerico sull’output che ha prodotto. Questo tipo di feedback si dice valutativo, in contrapposizione al feedback istruttivo del supervisionato.
Il feedback valutativo ha una conseguenza profonda: un punteggio dice quanto è buona l’azione provata, ma non dice se ne esistesse una migliore, né quale fosse. Per scoprirlo l’agente deve esplorare, cioè provare attivamente comportamenti alternativi e confrontarne le valutazioni. Nel supervisionato il problema dell’esplorazione non esiste, perché la risposta giusta è data; qui diventa parte integrante dell’apprendimento.
In parole semplici: il supervisionato è come studiare con un tutor che dà la soluzione di ogni esercizio; il reinforcement learning è come giocare a un videogioco sconosciuto in cui appare solo il punteggio. Nessuno spiega la mossa giusta: bisogna provare, guardare il punteggio e capire da soli che cosa funziona.
1.2 Le difficoltà delle decisioni sequenziali#
La seconda caratteristica del nuovo setting è la sequenzialità: in molti problemi l’output non è una singola risposta ma una sequenza di decisioni (o azioni) prese per raggiungere un obiettivo. Un programma che impara a giocare a scacchi deve produrre un’intera sequenza di mosse il cui esito, vittoria o sconfitta, si conosce solo alla fine. Le proprietà che rendono difficile questa classe di problemi sono:
- le azioni ottime dipendono dal contesto: la stessa mossa può essere ottima in una configurazione della scacchiera e pessima in un’altra; questo è analogo alla dipendenza dall’input nel supervisionato;
- non ci sono esempi di azioni corrette: in generale non è disponibile, e può essere impossibile da costruire, un archivio di “azioni giuste” per ogni situazione;
- le azioni hanno conseguenze a lungo termine: una decisione presa ora può influenzare le situazioni e i reward di molti passi futuri;
- le conseguenze immediate di un’azione ottima possono sembrare negative: a scacchi, sacrificare un pezzo è un danno immediato, ma può creare la posizione che vince la partita.
L’ultimo punto è il più insidioso e ha un nome: delayed reward (ricompensa ritardata). Il segnale che certifica la bontà di una scelta può arrivare molte mosse dopo la scelta stessa, e l’algoritmo deve riuscire ad attribuire il merito (o la colpa) del risultato finale alle azioni giuste lungo la sequenza; questo problema di attribuzione è noto come credit assignment.
Un esempio giocattolo aiuta a fissare le idee. Un pesce artificiale deve sopravvivere nel suo ambiente: mangiare plancton vale , mangiare un verme vale , avvicinarsi allo squalo vale . Il comportamento buono dipende dal contesto: se il verme è vicino allo squalo, la scelta golosa del immediato può portare al , e conviene ripiegare sul plancton.
In parole semplici: non basta valutare ogni singola azione con il premio che frutta subito, perché le azioni buone oggi possono costare care domani e viceversa. Il problema vero è collegare i premi e le punizioni, che possono arrivare molto tardi, alle decisioni che li hanno causati.
1.3 L’interfaccia agente-ambiente#
Il modo standard di inquadrare questi problemi è separare il sistema in due entità che interagiscono ciclicamente:
- l’agente è l’entità che apprende e decide: il programma, il modello che si sta costruendo;
- l’ambiente è tutto ciò che sta fuori dall’agente: riceve le azioni, evolve di conseguenza e restituisce all’agente la nuova situazione e la valutazione.
L’interazione procede a passi discreti di tempo . A ogni passo l’agente osserva lo stato corrente dell’ambiente , la descrizione della situazione in cui deve agire (a scacchi: la configurazione della scacchiera, più eventuali informazioni rilevanti come il tempo rimanente), e sceglie un’azione . L’azione ha effetto sull’ambiente, che al passo successivo restituisce un reward numerico , che quantifica l’effetto immediato della decisione, e il nuovo stato . Il ciclo riprende, per sempre oppure fino a una condizione di fine. La storia dell’interazione è quindi una traiettoria
Per definire formalmente un problema in questo framework servono tre ingredienti:
- Spazio degli stati : l’insieme di tutte le possibili situazioni dell’ambiente, con le variabili che le descrivono.
- Spazio delle azioni : l’insieme delle azioni disponibili nello stato . In generale dipende dallo stato: a scacchi non tutte le mosse sono legali in ogni posizione. Quando la dipendenza non è rilevante si scrive semplicemente .
- Spazio dei reward : l’insieme dei possibili valori del segnale di reward; può essere tutto o un insieme finito di valori.
In parole semplici: l’agente e l’ambiente giocano a un botta e risposta infinito: l’ambiente dice “ecco la situazione”, l’agente risponde “faccio questa mossa”, l’ambiente replica “ecco quanto ti è fruttata e la nuova situazione”. Tutto il reinforcement learning vive dentro questo ciclo.
2. Formalizzare l’ambiente: dalla catena di Markov all’MDP#
2.1 La proprietà di Markov#
Tra tutti i problemi rappresentabili con l’interfaccia agente-ambiente, la teoria si concentra su una famiglia più ristretta e trattabile: quella in cui vale la proprietà di Markov.
Un processo decisionale gode della proprietà di Markov se lo stato successivo e il reward dipendono soltanto dallo stato corrente e dall’azione corrente , e non dal resto della storia:
A prima vista sembra un’assunzione molto limitante: e se in un problema la storia passata fosse importante? Il punto cruciale è che la proprietà di Markov non va letta come una proprietà del problema, ma come una proprietà della definizione di stato. Se la storia conta, la si può includere nella definizione dello stato: uno stato “arricchito” che contiene le informazioni rilevanti del passato rende di nuovo il processo Markoviano, perché la dipendenza dalla storia è incorporata nello stato stesso. Il prezzo da pagare è uno spazio degli stati più grande e un problema più complesso, ma comunque risolvibile dentro lo stesso framework.
Idea chiave: “Markoviano” significa che lo stato è un riassunto sufficiente del passato: dato lo stato presente, il futuro è indipendente da come ci si è arrivati. Se lo stato scelto non basta, non si cambia teoria: si cambia (allargandola) la definizione di stato.
In parole semplici: lo stato deve contenere tutto ciò che serve per decidere e per prevedere il futuro immediato. Se per giocare bene servisse anche ricordare l’ultima mossa, basta mettere l’ultima mossa dentro lo stato: il processo torna “senza memoria” perché la memoria è stata trasferita nello stato.
2.2 Processi di Markov e Markov Reward Process#
Prima di arrivare all’MDP completo conviene costruire la formalizzazione per gradi, aggiungendo un ingrediente alla volta. Il mattone di base è il processo che descrive solo l’evoluzione casuale degli stati.
Un processo di Markov è una tupla dove:
- : insieme (finito) degli stati;
- : matrice delle probabilità di transizione, con e per ogni .
Un processo di Markov è un sistema che “vaga” tra gli stati secondo probabilità fisse: non ci sono né decisioni né valutazioni. Il primo arricchimento aggiunge il segnale di reward e il discount factor (il cui ruolo sarà chiarito nella sezione 3).
Un MRP è una tupla dove:
- : insieme degli stati;
- : matrice delle probabilità di transizione ;
- : funzione di reward, , il reward atteso ottenuto trovandosi nello stato ;
- : discount factor, .
In un MRP il sistema continua a evolvere da solo, ma ogni visita a uno stato produce un reward: si può quindi chiedere “quanto vale trovarsi in un certo stato”, ma non ancora “che cosa conviene fare”, perché non ci sono azioni. L’MRP è il livello a cui si valuterà una policy fissata: come si vedrà nella sezione 6.4, un MDP in cui il comportamento dell’agente è congelato si riduce esattamente a un MRP.
2.3 Il Processo Decisionale di Markov#
L’ultimo ingrediente è il controllo: l’agente sceglie azioni che influenzano sia le transizioni sia i reward.
Un MDP è una tupla dove:
- : insieme degli stati;
- : insieme delle azioni (in generale , dipendente dallo stato);
- : dinamica di transizione controllata dalle azioni, ;
- : funzione di reward, ;
- : discount factor, .
Quando vale la proprietà di Markov e gli insiemi di stati e azioni sono finiti, il problema si dice MDP finito; è la classe su cui si concentrerà tutto il resto della trattazione (esistono estensioni a spazi infiniti o continui, ma richiedono strumenti aggiuntivi).
Il modo più compatto di specificare un MDP finito è dare, oltre a e , la cosiddetta dinamica one-step: la distribuzione congiunta del prossimo stato e del reward, condizionata a stato e azione correnti,
È una funzione che soddisfa la condizione di normalizzazione
Grazie alla proprietà di Markov, questa singola distribuzione definisce completamente che cosa succede nel problema: è tutto ciò che c’è da sapere sull’ambiente.
In parole semplici: un MDP è la scheda tecnica completa di un mondo a turni: quali situazioni esistono, quali mosse sono possibili, e per ogni coppia situazione-mossa una tabella di probabilità che dice dove si può finire e con quale premio. Data questa scheda, non serve altro per ragionare sul problema.
2.4 Quantità derivate dalla dinamica one-step#
Dalla dinamica one-step si ricavano per marginalizzazione due quantità che, pur non aggiungendo informazione, sono molto comode nei calcoli:
- la distribuzione del prossimo stato, quando interessa solo dove si finisce e non quanto si guadagna:
- il reward atteso di una coppia stato-azione, cioè la media dei possibili reward pesata con le rispettive probabilità:
Entrambe sono già “contenute” nella dinamica one-step; averle come oggetti separati semplifica la scrittura delle equazioni di Bellman.
2.5 Un esempio completo: il robot riciclatore#
Un esempio classico rende concreta la definizione. Un robot mobile raccoglie lattine da riciclare; a ogni passo deve decidere se cercare attivamente lattine, restare fermo aspettando che qualcuno gliene porti, oppure tornare alla base per ricaricarsi. Cercare è più produttivo ma consuma batteria; se la batteria si esaurisce durante la ricerca, il robot resta a terra e qualcuno deve andare a recuperarlo, il che è un esito molto negativo. Le decisioni si basano sul livello di carica, che per semplicità viene modellato con due soli valori. Il reward misura la quantità di lattine raccolte.
Il modello come MDP finito:
- Stati: , il livello di carica della batteria.
- Azioni: ; (ricaricare con batteria alta non ha senso e viene escluso).
- Reward: è il numero atteso di lattine raccolte cercando, quello raccolto aspettando, con ; la ricarica non produce lattine (reward 0); il soccorso del robot scarico costa un reward negativo (per esempio ).
La dinamica one-step si descrive con una tabella o, equivalentemente, con un grafo i cui nodi sono gli stati e i cui archi riportano azione, probabilità e reward:
| reward | ||||
|---|---|---|---|---|
| alta | cerca | alta | ||
| alta | cerca | bassa | ||
| alta | attendi | alta | ||
| bassa | cerca | bassa | ||
| bassa | cerca | alta | ||
| bassa | attendi | bassa | ||
| bassa | ricarica | alta |
Lettura riga per riga: con carica alta, attendere non consuma batteria (si resta in alta con certezza) e frutta ; cercare frutta di più ma con probabilità fa scendere la carica. Con carica bassa, cercare è rischioso: con probabilità va tutto bene, con probabilità la batteria si esaurisce, il robot viene soccorso (reward ) e si ritrova ricaricato in alta. Ricaricare porta con certezza in alta ma non produce nulla, perché il tempo è dedicato alla ricarica e non al riciclo.
I valori numerici (, , i reward, il costo del soccorso) possono venire da osservazioni empiriche oppure da scelte di progetto: quantificare con il costo del soccorso è una decisione di design che esprime quanto quel fallimento è grave in termini di riciclo perso. Compilata la tabella, la dinamica one-step è completamente definita e con essa l’intero MDP.
In parole semplici: modellare un problema come MDP significa compilare la tabella “se sono in questa situazione e faccio questa mossa, dove finisco, con che probabilità e con che premio”. Il grafo del robot è tutto il suo mondo: da qui in avanti il problema è solo decidere come comportarsi al meglio dentro questo mondo.
3. L’obiettivo dell’agente: return e discount#
3.1 Il return: task episodici e continui#
Come già osservato, l’agente non deve scegliere le azioni sulla base del reward immediato: le conseguenze a lungo termine contano più del guadagno a breve. Serve quindi una quantità che aggreghi l’intera sequenza dei reward futuri.
Il return è una funzione della sequenza dei reward successivi al tempo : . L’obiettivo dell’agente è massimizzare il return atteso .
Sono possibili diverse definizioni di return (reward totale, reward scontato, reward medio); la scelta appropriata dipende dalla struttura temporale del task, che può essere di due tipi.
Task episodici. L’interazione agente-ambiente si spezza naturalmente in blocchi chiamati episodi, ciascuno dei quali termina in uno stato terminale: uno stato oltre il quale non c’è più interazione. Una partita a scacchi è un episodio: prima o poi finisce.
In questo caso la definizione naturale di return è il reward totale fino al passo finale :
La somma è finita perché l’episodio termina, e massimizzarne il valore atteso tiene automaticamente conto di tutte le implicazioni a lungo termine delle decisioni prese durante l’episodio.
Task continui. L’interazione prosegue indefinitamente, senza stati terminali: il robot riciclatore, così come è stato modellato, ricicla per sempre. Qui il reward totale è una somma su una sequenza infinita,
e in generale non è finita: anche una strategia mediocre accumula reward all’infinito, e confrontare “infinito con infinito” non permette di distinguere le strategie. La soluzione è scontare i reward futuri con un fattore , con :
L’obiettivo diventa la massimizzazione del return scontato atteso . Se i reward sono limitati in modulo da , la serie geometrica garantisce che il return è finito:
3.2 Il discount factor#
Idea chiave: il discount factor svolge un doppio ruolo: è un espediente matematico che rende finito il return nei task continui, ed è una manopola di progetto che regola quanto l’agente pesa il futuro rispetto al presente.
Dal punto di vista matematico, qualunque strettamente minore di 1 funziona: anche rende la somma convergente. Dal punto di vista del comportamento appreso, però, il valore di cambia radicalmente le priorità dell’agente:
- con il return si riduce a : l’agente è completamente miope e massimizza solo il reward immediato;
- al crescere di verso 1 l’agente diventa sempre più lungimirante e dà peso crescente ai reward lontani;
- un reward che arriverà tra passi vale oggi volte il suo valore nominale: i reward molto lontani nel futuro diventano progressivamente irrilevanti, con un orizzonte effettivo dell’ordine di .
In parole semplici: dice quanto vale un euro promesso domani rispetto a un euro in tasca oggi. Con piccolo l’agente vive alla giornata; con vicino a 1 pianifica sul lungo periodo. Oltre a esprimere questa preferenza, serve tecnicamente a far tornare i conti quando il futuro è infinito.
3.3 Stati assorbenti e notazione unificata#
Avere due definizioni di return, una per i task episodici e una per i continui, è scomodo. C’è un trucco che le unifica. In un task episodico si numera il tempo da zero all’inizio di ogni episodio e si sostituisce lo stato terminale con uno stato assorbente: uno stato da cui non si esce più e in cui ogni transizione produce reward zero. L’episodio, formalmente, non finisce mai: dopo il “vecchio” stato terminale l’interazione continua per sempre, ma senza più accumulare nulla. Il return totale calcolato in questa versione coincide esattamente con quello della versione episodica.
Con questo accorgimento un’unica definizione copre entrambi i casi:
con le seguenti avvertenze sul valore di :
- è ammesso solo se uno stato assorbente viene raggiunto con certezza (task episodico): in tal caso la somma è di fatto finita;
- in un task genuinamente continuo si deve usare strettamente minore di 1;
- produce un agente che considera solo il reward immediato, mentre dà peso sempre maggiore al futuro.
In parole semplici: per non gestire due formule diverse, si finge che ogni episodio finisca in una “stanza senza uscite” dove non succede più niente e non si guadagna più niente. Così anche i problemi con un finale si scrivono come problemi infiniti, e una sola formula del return vale per tutti.
3.4 Goal e reward: l’ipotesi del reward#
Resta da chiedersi se davvero ogni obiettivo si possa esprimere con un segnale di reward. Un principio guida nella progettazione è che un obiettivo deve specificare che cosa si vuole ottenere, non come ottenerlo: il “come” è esattamente ciò che l’agente deve scoprire da solo. Alla base di tutto il framework c’è un’assunzione, tanto potente quanto discussa.
Tutto ciò che intendiamo per obiettivi e scopi può essere descritto come la massimizzazione del valore atteso della somma cumulata di un segnale scalare ricevuto, detto reward.
Due schemi standard di progettazione del reward, utili quando si conosce il goal ma non si sa valutare i passi intermedi:
- rappresentazione goal-reward: reward (o comunque positivo) al raggiungimento del goal, in tutti gli altri passi. È una definizione valida ma “avara”: l’agente non riceve alcun indizio fino al goal. Con discount questo schema premia anche la rapidità, perché un goal raggiunto prima viene scontato meno; con non c’è invece alcuna pressione a fare in fretta.
- rappresentazione action-penalty: reward a ogni passo finché il goal non è raggiunto, dopo. Qui la pressione temporale è incorporata: ogni passo in più costa, quindi conviene arrivare al goal il prima possibile, anche con .
L’ipotesi del reward non è priva di sfide. Due scenari notoriamente difficili da catturare con un segnale scalare: i comportamenti sensibili al rischio (un agente di trading deve bilanciare guadagno atteso e rischio di perdita, non solo massimizzare il primo) e la diversità di comportamento (in un videogioco, un’intelligenza artificiale che gioca sempre la stessa strategia ottima può essere meno desiderabile di una variata). In linea di principio anche questi aspetti si possono codificare estendendo la funzione di reward, ma la progettazione diventa complessa.
In parole semplici: l’ipotesi del reward scommette che qualunque scopo si possa tradurre in un punteggio da massimizzare. Spesso funziona benissimo, con ricette semplici come “1 al traguardo, 0 altrove” oppure “-1 a ogni passo finché non arrivi”; per obiettivi sfumati come “guadagna ma senza rischiare troppo” la traduzione in punteggio è possibile ma tutt’altro che banale.
4. La policy#
4.1 Policy deterministiche e stocastiche#
Definito l’obiettivo (massimizzare il return atteso), resta da specificare l’oggetto che l’agente deve apprendere: la strategia di comportamento.
Una policy è la funzione di decisione dell’agente: in ogni istante stabilisce quale azione selezionare. Una policy definisce completamente il comportamento dell’agente, ed è l’oggetto concreto che viene appreso in un MDP.
Le policy si classificano lungo tre assi: Markoviane o non Markoviane, deterministiche o stocastiche, stazionarie o non stazionarie.
Nel caso più semplice la policy è deterministica: una funzione
che mappa ogni stato in un’azione. In un MDP finito una policy deterministica non è altro che una tabella con una riga per stato: nello stato esegui , nello stato esegui , e così via. Nella rappresentazione grafica di un gridworld (un ambiente a griglia in cui l’agente si muove di cella in cella) una policy deterministica si disegna mettendo in ogni cella la freccia dell’azione prescritta.
Il caso più generale è la policy stocastica: una funzione che mappa ogni stato in una distribuzione di probabilità sulle azioni,
In forma tabellare: una riga per stato, una colonna per azione, e in ogni casella la probabilità di scegliere quell’azione in quello stato (ogni riga somma a 1). La rappresentazione stocastica include quella deterministica come caso particolare: basta una riga con un 1 sull’azione prescritta e 0 altrove. Per questo motivo si userà spesso la notazione stocastica per generalità, anche quando la policy in gioco è deterministica.
In parole semplici: la policy è il “manuale di comportamento” dell’agente: per ogni situazione dice che cosa fare, o con quali probabilità scegliere tra le mosse. Imparare, in un MDP, significa esattamente costruire questo manuale.
4.2 Policy Markoviane e stazionarie#
Una policy si dice Markoviana se la scelta dell’azione dipende soltanto dallo stato corrente, e non Markoviana se dipende anche dalla storia passata. Un esempio minimale chiarisce la distinzione. Si consideri un MDP con un solo stato e due azioni, destra (R) e sinistra (L), e due policy:
- : scegli R il 50% delle volte e L il 50% delle volte;
- : alterna R e L (una volta R, la volta dopo L, e così via).
è Markoviana: per decidere bastano lo stato corrente (che qui è sempre lo stesso) e un lancio di moneta. non lo è: per decidere serve ricordare l’ultima azione eseguita, informazione non contenuta nello stato; quindi non è una policy valida per questo MDP. La limitazione si supera con lo stesso trucco visto per la proprietà di Markov: si estende la definizione di stato includendovi l’azione precedente. Nel nuovo MDP, con due stati (“l’ultima azione era R” / “era L”), la policy che alterna diventa Markoviana. L’essere Markoviana non è quindi una proprietà assoluta di una policy, ma è relativa all’MDP su cui la si definisce.
Una policy si dice inoltre stazionaria se non cambia nel tempo: la regola di decisione al passo è la stessa del passo . Una policy non stazionaria può invece dipendere esplicitamente dal tempo.
Nel seguito la trattazione si concentra su policy Markoviane e stazionarie. La restrizione a policy deterministiche o stocastiche è invece lasciata aperta: come si vedrà nella sezione 7.2, negli MDP il framework garantisce che esiste sempre una policy ottima deterministica, quindi ai fini dell’ottimalità ci si potrà limitare alle deterministiche senza perdita.
In parole semplici: una policy Markoviana guarda solo la fotografia del presente, mai l’album dei ricordi. Se una strategia utile ha bisogno di ricordi, si allarga la definizione di stato finché i ricordi necessari non ci stanno dentro; a quel punto la strategia torna a dipendere solo dallo stato.
5. Quanto vale uno stato: le value function#
5.1 State-value function e action-value function#
Fissata una policy , il comportamento dell’agente è completamente determinato (in senso probabilistico), e si può chiedere quanto “renda” ciascuno stato seguendo quella policy.
La funzione di valore di stato di una policy è il return atteso partendo dallo stato e seguendo :
La funzione di valore di stato-azione di una policy è il return atteso partendo dallo stato , eseguendo l’azione e seguendo da lì in poi:
La differenza è sottile ma importante: valuta lo stato assumendo che anche la prima azione sia scelta da ; valuta “che cosa succede se in eseguo (anche se avrebbe fatto altro) e solo dopo torno a seguire ”. Le due funzioni sono legate dalla relazione
il valore di uno stato è la media dei valori delle azioni disponibili, pesata con le probabilità con cui le sceglie. La sarà lo strumento chiave per migliorare una policy: confrontare al variare di dice se in esiste un’azione migliore di quella che sta usando.
In parole semplici: risponde a “quanto mi aspetto di guadagnare, in totale e scontato, se mi trovo qui e continuo con la mia strategia?”; risponde a “e se qui, per una volta, facessi quest’altra mossa e poi tornassi alla mia strategia?”. La seconda domanda è quella che permette di scoprire strategie migliori.
5.2 Perché servono le value function: due esempi#
Scacchi e delayed reward. Si definisca il reward come se il bianco vince e in ogni altro caso. Durante la partita quasi ogni mossa produce reward immediato : il segnale utile arriva solo alla fine. In questo setting ha un’interpretazione limpida: è la probabilità che il bianco vinca partendo dalla posizione e giocando secondo .
Due mosse con lo stesso reward immediato (zero) possono portare in posizioni con valori diversi, per esempio contro : la value function condensa tutto il futuro in un numero disponibile adesso, ed è per questo lo strumento che risolve il problema del delayed reward.
Idea chiave: la value function trasforma un problema di conseguenze lontane in un problema di confronti immediati: invece di aspettare la fine dell’episodio per sapere se una mossa era buona, si guarda il valore dello stato in cui la mossa conduce.
Un gridworld con teletrasporti. Si consideri una griglia in cui l’agente si muove con quattro azioni deterministiche (nord, sud, est, ovest). I reward: se l’azione porta a sbattere contro il bordo (l’agente resta fermo), per i movimenti normali, con due celle speciali: dalla cella ogni azione frutta e teletrasporta in una cella vicina al bordo inferiore; dalla cella ogni azione frutta e teletrasporta in una cella a metà griglia. La policy da valutare è quella casuale uniforme (25% a ciascuna direzione), con .
Dal calcolo di emergono due fatti istruttivi:
- , meno del reward immediato : da si guadagna subito , ma si atterra in , vicino al bordo inferiore, dove la policy casuale sbatterà spesso contro le pareti accumulando reward negativi scontati; il valore incorpora anche questo futuro sfavorevole;
- , più del reward immediato : da , ben posizionata al centro, il futuro atteso è positivo, perché è probabile ripassare da o da .
Questo esempio mostra che il valore di uno stato non coincide con ciò che lo stato paga subito: è il bilancio complessivo di presente e futuro scontato.
In parole semplici: una cella che regala molto ma ti scaraventa in una zona pericolosa vale meno di quanto regala; una cella che regala poco ma ti piazza in una buona posizione vale più di quanto regala. La value function fa questi conti per ogni stato.
6. Le equazioni di Bellman di aspettativa#
6.1 La decomposizione ricorsiva del return#
Il calcolo diretto di dalla definizione richiederebbe di mediare su tutte le possibili traiettorie infinite: impraticabile. La chiave di volta è un’osservazione elementare sulla struttura del return: raccogliendo a fattore comune da tutti i termini successivi al primo,
Il return da oggi è il reward immediato più il return da domani, scontato di . Questa ricorsione a un passo è il cuore di tutta la teoria (e di quasi tutti gli algoritmi che seguiranno nel corso).
Idea chiave: il valore di adesso si decompone in “quello che incasso subito” più “ volte il valore di dove finisco”. Applicando questa decomposizione dentro il valore atteso, le value function smettono di essere medie su traiettorie infinite e diventano soluzioni di un sistema di equazioni a un passo.
6.2 Le equazioni per V e Q#
Prendendo il valore atteso della decomposizione, condizionato a e sotto la policy , e usando la proprietà di Markov (il valore atteso di dato è esattamente ), si ottiene la prima equazione di Bellman.
Per ogni stato ,
Lettura da fuori a dentro: si media sulle azioni che può scegliere in ; per ciascuna azione si media sulle coppie (prossimo stato, reward) secondo la dinamica one-step; per ogni esito si somma il reward immediato al valore scontato dello stato d’arrivo. Con le quantità derivate della sezione 2.4 la stessa equazione si scrive in modo più compatto:
La action-value function si decompone in modo del tutto analogo: fissata la prima azione, si media sugli esiti e poi sull’azione successiva scelta da .
Per ogni coppia stato-azione,
Le due equazioni si intrecciano attraverso le relazioni a mezzo passo, che conviene tenere a portata di mano:
Il punto fondamentale: in un MDP finito con stati, l’equazione di Bellman per è un sistema di equazioni lineari in incognite (i valori ). Le incognite compaiono solo al primo grado: valutare una policy è algebra lineare.
In parole semplici: l’equazione di Bellman dice che il valore di ogni stato è coerente con i valori dei suoi vicini: valore di qui = premio immediato medio + volte il valore medio di dove si finisce. Scrivendo questa condizione per tutti gli stati si ottiene un normale sistema lineare, con un’equazione e un’incognita per stato.
6.3 Esempio concreto: un gridworld a quattro stati#
Vediamo le equazioni di Bellman all’opera su un esempio piccolo ma completo, tratto dalle slide del corso. L’ambiente è una griglia con stati (in alto a sinistra), (in alto a destra), (in basso a sinistra) e (in basso a destra). Le quattro azioni (su, giù, sinistra, destra) sono deterministiche; un’azione che porterebbe fuori dalla griglia lascia l’agente dove si trova. Ogni transizione che entra in , anche “sbattendo” e restando in , produce reward ; ogni altra transizione produce . La policy da valutare è quella casuale uniforme ( per direzione) con . Scrivendo l’equazione di aspettativa di Bellman in ciascuno dei quattro stati (per esempio da : con probabilità si va a destra in incassando , con si scende in , con si sbatte e si resta in ):
Quattro equazioni lineari in quattro incognite: risolvendo il sistema si ottiene
I numeri raccontano la geografia del problema: vale di più perché metà delle mosse da incassano di nuovo ; e hanno lo stesso valore per simmetria (entrambe confinano con e con ); , l’angolo più lontano dalla cella premiante, vale meno di tutte.
I passaggi della soluzione
Si indichino i quattro valori con . Le equazioni di e di hanno la stessa identica forma, quindi (simmetria della griglia rispetto alla diagonale -). L’equazione di dà
L’equazione di dà , cioè . Sostituendo e nell’equazione di :
da cui , , : arrotondando, i valori , , , della slide.
6.4 Forma matriciale e soluzione in forma chiusa#
Una volta fissata la policy , le azioni non sono più una scelta libera: vengono estratte da . L’MDP, visto dall’esterno, si comporta allora come un MRP con dinamica e reward “mediati” dalla policy:
Raccogliendo i valori in un vettore (una componente per stato) e i reward attesi in un vettore , l’equazione di Bellman diventa un’unica equazione vettoriale:
Portando le incognite a sinistra e risolvendo:
L’inversa esiste sempre per : è una matrice stocastica (righe non negative che sommano a 1), i suoi autovalori hanno modulo al più 1, quindi gli autovalori di hanno tutti modulo positivo e la matrice è non singolare. La policy evaluation, cioè il calcolo di data una policy, ammette dunque una soluzione esatta in forma chiusa, esattamente come l’OLS nella regressione lineare.
In parole semplici: valutare una policy è “solo” risolvere un sistema lineare: si costruiscono la matrice delle transizioni medie e il vettore dei premi medi indotti dalla policy, e una formula chiusa restituisce il valore di tutti gli stati in un colpo solo.
6.5 L’operatore di Bellman e la proprietà di contrazione#
La struttura dell’equazione di Bellman si presta a una lettura più astratta che sarà preziosa per gli algoritmi iterativi. Si definisce l’operatore di Bellman di aspettativa , che prende una funzione di valore qualsiasi (un vettore di ) e restituisce la funzione ottenuta applicando un passo di backup:
ossia, in forma vettoriale, . Per costruzione, è un punto fisso di : applicare l’operatore a restituisce stesso, perché è proprio quanto afferma l’equazione di Bellman. La proprietà decisiva è la seguente.
Per , l’operatore è una -contrazione rispetto alla norma del massimo: per ogni coppia di funzioni di valore ,
La verifica è breve: per ogni stato ,
dove l’ultimo passaggio usa il fatto che le sommano a 1. I termini di reward si cancellano nella differenza: la contrazione agisce solo sulla parte “futura”, ed è lì che entra il fattore .
Le conseguenze, via teorema del punto fisso di Banach, sono due e valgono entrambe per :
- il punto fisso di è unico: è l’unica soluzione dell’equazione di Bellman;
- l’applicazione iterata di a partire da una funzione di valore qualsiasi converge a , e l’errore si riduce almeno di un fattore a ogni applicazione: .
Questa seconda proprietà è il fondamento della iterative policy evaluation: invece di invertire una matrice si parte da (o da qualunque stima) e si applica ripetutamente il backup di Bellman finché i valori non si stabilizzano.
In parole semplici: l’operatore di Bellman è una “centrifuga” che, applicata a una stima qualsiasi dei valori, la avvicina sempre alla soluzione vera, riducendo l’errore di un fattore a ogni giro. Girare la centrifuga abbastanza volte porta alla soluzione con la precisione desiderata, senza invertire alcuna matrice.
6.6 I limiti della soluzione esatta#
Perché servono le versioni iterative se esiste la forma chiusa? Per una questione di scala. Risolvere il sistema lineare costa : con i 4 stati dell’esempio del gridworld si risolvono 4 equazioni a mano; con gli scacchi, dove il numero di stati è dell’ordine di , bisognerebbe risolvere equazioni lineari, fuori discussione per qualunque calcolatore presente o futuro. Il problema non è concettuale ma computazionale, e diventa ancora più grave quando, come accadrà nel reinforcement learning vero e proprio, la dinamica non è nemmeno nota. Le equazioni di Bellman restano comunque il fondamento: tutti gli algoritmi dei prossimi capitoli sono modi più o meno diretti di risolverle in maniera approssimata o incrementale.
7. Che cosa significa “ottimo”: ordinamento e policy ottima#
7.1 L’ordinamento parziale delle policy#
Le value function forniscono il criterio naturale per confrontare le policy tra loro.
Una policy è migliore o uguale a una policy , e si scrive , se e solo se il suo valore non è mai inferiore in nessuno stato:
Il requisito “per ogni stato” è forte, e rende l’ordinamento parziale: due policy possono essere incomparabili, per esempio se la prima è migliore negli stati di una zona dell’ambiente e la seconda è migliore altrove. Non è quindi ovvio, a priori, che esista una policy “migliore di tutte”: potrebbe esserci solo un mosaico di policy ciascuna imbattibile nella propria zona.
7.2 Esistenza di una policy ottima deterministica#
Il risultato centrale della teoria degli MDP è che il timore del “mosaico di policy incomparabili” è infondato.
Per ogni Processo Decisionale di Markov esiste sempre almeno una policy ottima deterministica che è migliore o uguale a tutte le altre: per ogni . Tutte le policy ottime condividono le stesse value function.
Lo schema della dimostrazione (nel caso finito) si basa su una costruzione per combinazione. Si prendano due policy qualsiasi e , eventualmente incomparabili, e si costruisca una terza policy che in ogni stato imita la migliore delle due in quello stato:
Si dimostra che è almeno buona quanto entrambe in tutti gli stati: per ogni . L’intuizione: seguendo , in ogni stato si agisce come la policy localmente migliore, e la stessa regola si applicherà anche negli stati futuri; il valore raccolto non può quindi essere inferiore a quello della migliore delle due policy di partenza. Due policy incomparabili si possono dunque sempre “fondere” in una che le domina entrambe; poiché in un MDP finito le policy deterministiche Markoviane sono in numero finito, iterando la combinazione si arriva a una policy che domina ogni altra: la policy ottima. La costruzione produce naturalmente una policy deterministica: in ogni stato viene selezionata una specifica azione. La stocasticità può servire ad altri scopi (per esempio a esplorare durante l’apprendimento), ma non serve per essere ottimi in un MDP.
Idea chiave: negli MDP le policy migliori “in zone diverse” non si escludono a vicenda: si combinano stato per stato in una policy che eredita il meglio di ciascuna. Ripetendo la fusione, l’ordinamento parziale rivela un massimo globale, e questo massimo si può sempre realizzare con una policy deterministica.
In parole semplici: esiste sempre un manuale di comportamento perfetto, che in ogni situazione prescrive una singola mossa (niente lanci di moneta) ed è imbattibile ovunque, non solo in media. Il motivo è che si può sempre costruire “il meglio dei due mondi”: dove una strategia è più forte si copia lei, dove è più forte l’altra si copia l’altra.
7.3 Esempio concreto: la policy ottima dipende da gamma#
Un piccolo MDP tratto dalle slide mostra un aspetto spesso trascurato: la policy ottima è ottima per un dato , perché il discount factor fa parte della definizione del problema.
Nello stato sono disponibili due azioni: porta in con reward , porta in con reward . Da e da c’è un’unica azione, che riporta in : con reward da , con reward da . Le policy deterministiche distinte sono quindi solo due: (incassa subito) e (rinuncia al reward immediato per il al passo dopo).
Con conta solo il reward immediato:
Con i reward arrivano alternati (uno ogni due passi) e le serie geometriche danno il verdetto opposto:
quindi con è ottima : la pazienza paga, ma solo se l’agente è abbastanza lungimirante da apprezzarla. Si noti che il teorema di esistenza non è contraddetto: per ogni valore fissato di esiste una policy ottima deterministica; semplicemente, cambiando cambia il problema e con esso la sua soluzione.
7.4 La ricerca esaustiva e i suoi limiti#
Il teorema di esistenza suggerisce un algoritmo concettualmente banale per trovare : enumerare tutte le policy deterministiche, valutare ciascuna con la forma chiusa della sezione 6.4 e scegliere la dominante. Il problema è il conteggio: con stati e azioni per stato, le policy deterministiche sono
perché per ogni stato si sceglie indipendentemente una delle azioni. Nell’esempio del bivio le policy sono 2 e la ricerca brute-force è praticabile; ma il numero esplode in fretta: un modesto gridworld con 4 azioni ha policy deterministiche, ciascuna con il suo sistema lineare da risolvere. La ricerca esaustiva è quindi inutilizzabile su qualunque problema non giocattolo, e serve una via più intelligente: passare per le equazioni di ottimalità.
8. Le value function ottime e le equazioni di ottimalità#
8.1 Value function ottime#
Anche senza costruire esplicitamente una policy dominante, si possono definire i valori migliori raggiungibili stato per stato.
La state-value function ottima e la action-value function ottima sono
è il miglior return atteso ottenibile da da qualunque comportamento; è il miglior return atteso ottenibile eseguendo in e comportandosi al meglio da lì in poi. Per il teorema di esistenza, questi massimi sono realizzati simultaneamente dalla policy ottima: e . Conoscere significa sapere quanto “rende al massimo” il problema; come si vedrà tra poco, conoscere significa molto di più: significa saper giocare in modo ottimo.
8.2 Le equazioni di ottimalità di Bellman#
Le value function ottime soddisfano versioni speciali delle equazioni di Bellman, in cui la media sulle azioni della policy è sostituita da una massimizzazione. Il ragionamento parte dalla relazione tra e . Una policy ottima, in ogni stato, deve scegliere un’azione che realizza il miglior valore possibile: se scegliesse un’azione con inferiore al massimo, si potrebbe migliorarla, contraddicendone l’ottimalità. Quindi
D’altra parte, il valore ottimo di una coppia stato-azione si decompone come sempre in reward immediato più futuro scontato, e il futuro, per definizione di ottimalità, vale :
Sostituendo ciascuna relazione nell’altra si ottengono le due equazioni chiuse.
Le value function ottime soddisfano
La differenza rispetto alle equazioni di aspettativa è tutta in un simbolo: dove prima c’era la media pesata ora c’è . La media descrive una policy data; il massimo descrive la policy migliore possibile, senza doverla nominare.
In parole semplici: l’equazione di ottimalità dice che il valore ottimo di uno stato è quello ottenibile giocando la mossa migliore, dove “migliore” tiene già conto che anche in futuro si giocherà sempre la mossa migliore. È la stessa ricorsione di Bellman, con “faccio quello che dice la policy” sostituito da “faccio la cosa migliore”.
8.3 Dalla value function ottima alla policy ottima#
Perché queste equazioni sono così importanti? Perché da o la policy ottima si ricava immediatamente, senza ulteriore apprendimento: basta agire in modo greedy, cioè scegliere in ogni stato l’azione che massimizza il valore.
- Con la ricetta è diretta e non richiede nemmeno di conoscere la dinamica dell’ambiente:
- Con serve un lookahead a un passo attraverso il modello: si valuta ogni azione combinando reward immediato e valore ottimo scontato degli stati raggiungibili,
Un mini esempio con mostra che “greedy rispetto ai valori ottimi” non significa “miope”. In uno stato ci sono due azioni: dà reward immediato e porta con certezza in uno stato con ; dà reward immediato e porta in uno stato con . Allora
e la scelta ottima è , nonostante il suo reward immediato sia meno della metà di quello di : il valore dello stato d’arrivo incorpora già tutte le conseguenze future, quindi la scelta localmente greedy sul è globalmente ottima.
Sul gridworld con i teletrasporti l’intero percorso si chiude visivamente: calcolata , la policy ottima si legge cella per cella scegliendo la direzione che porta al vicino di valore massimo.
Idea chiave: conoscere risolve il problema: la policy ottima è la scelta greedy . Tutta la difficoltà del controllo ottimo si trasferisce così dal cercare la policy al calcolare la value function ottima.
In parole semplici: se qualcuno regalasse la tabella , giocare in modo perfetto sarebbe banale: in ogni situazione si legge la riga dello stato e si sceglie la casella col numero più grande. Il difficile non è usare : è procurarselo.
8.4 Perché non esiste una soluzione in forma chiusa#
Per la policy evaluation la pipeline era: dati , e , si costruisce un sistema lineare e un solutore lo risolve esattamente. Verrebbe naturale replicare lo schema per : dati , e , risolvere le equazioni di ottimalità. Ma qui la pipeline si inceppa: l’operatore non è lineare, quindi le equazioni di ottimalità di Bellman formano un sistema di equazioni non lineari in incognite, e in generale non ammettono soluzione in forma chiusa.
C’è anche una circolarità istruttiva: se si conoscesse la policy ottima , il calcolo di tornerebbe a essere un sistema lineare (basterebbe la policy evaluation con , , , ); ma per conoscere serve (o ), che è proprio l’incognita. Serve un metodo che rompa il circolo.
La buona notizia è che la struttura di contrazione sopravvive al passaggio al massimo. Definendo l’operatore di ottimalità di Bellman
si dimostra che anche è una -contrazione in norma del massimo (la dimostrazione ricalca quella di nella sezione 6.5, con in più una disuguaglianza sulla differenza di massimi: ). Ne segue che è l’unico punto fisso di e che l’applicazione iterata di da qualunque inizializzazione converge a . Questa è la giustificazione teorica dei metodi iterativi che occuperanno i prossimi capitoli:
- gli algoritmi di programmazione dinamica (policy iteration, value iteration), che risolvono le equazioni di Bellman iterativamente assumendo di conoscere il modello ( e );
- gli algoritmi di reinforcement learning propriamente detti, che risolvono le stesse equazioni quando il modello è ignoto, sostituendo le aspettative con campioni di esperienza raccolti interagendo con l’ambiente.
In parole semplici: con il “max” di mezzo il sistema non si risolve più con una formula, e non si può nemmeno aggirare l’ostacolo dicendo “prima trovo la policy ottima e poi risolvo il sistema lineare”, perché per trovarla servirebbe già la soluzione. Se ne esce iterando: la versione col massimo dell’operatore di Bellman è ancora una contrazione, quindi applicarla ripetutamente porta comunque ai valori ottimi. Tutti gli algoritmi dei prossimi capitoli sono varianti di questa idea.
9. Esempio svolto: il robot riciclatore#
Per consolidare l’intero percorso, si risolve completamente una versione numerica del robot riciclatore della sezione 2.5: valutazione di alcune policy, confronto, e verifica di ottimalità tramite le equazioni di Bellman.
9.1 Il modello con valori numerici#
Si fissano i parametri: , , , , penalità di soccorso , discount . Gli stati sono (carica alta e bassa), con azioni e . Le policy deterministiche possibili sono : su un problema così piccolo la ricerca esaustiva sarebbe fattibile, ma si seguirà la strada delle equazioni di Bellman, che è quella che scala.
9.2 Riscaldamento: la policy “attendi sempre”#
Sia la policy che attende in entrambi gli stati. Attendere lascia lo stato invariato con certezza e frutta sempre , quindi l’equazione di Bellman in ciascuno stato è
per entrambi gli stati. È la serie geometrica dei reward costanti: un reward di a ogni passo, scontato con , vale complessivamente . Questo numero fa da riferimento per le policy più intraprendenti.
9.3 Valutazione della policy prudente#
Sia la policy: cerca quando la carica è alta, ricarica quando è bassa. Le equazioni di Bellman (un’equazione per stato, usando la tabella della dinamica):
La prima dice: cercando da si incassa e si resta in con probabilità o si scende in con probabilità . La seconda: ricaricando da non si incassa nulla e si torna in con certezza. Sostituendo la seconda nella prima:
Come previsto, batte nettamente la policy pigra in entrambi gli stati ( e ): quindi , con disuguaglianza stretta ovunque.
9.4 Valutazione della policy audace e confronto#
Sia la policy: cerca in entrambi gli stati, cioè continua a cercare anche con la batteria bassa. Cercare da ha reward atteso
il guadagno delle ricerche fortunate è esattamente cancellato, in media, dal costo dei soccorsi. Le equazioni di Bellman:
Dalla seconda equazione: , da cui e quindi . Sostituendo nella prima:
Il confronto con è netto: e . La policy prudente domina quella audace in tutti gli stati, quindi nell’ordinamento delle policy.
Si noti che il danno dell’audacia si propaga anche allo stato , dove le due policy fanno la stessa cosa: partire da con vale meno perché prima o poi si scenderà in , e lì si comporta peggio. È l’effetto a lungo termine catturato dalla ricorsione di Bellman.
9.5 Verifica di ottimalità#
Resta da stabilire se sia la policy ottima. Invece di valutare le 6 policy una per una, si usa il criterio delle equazioni di ottimalità: si calcola per tutte le azioni (anche quelle che non usa) con la relazione , e si controlla se è greedy rispetto alla propria value function. Usando e :
- Stato :
- Stato :
In l’azione con massimo è cerca (), che è esattamente ciò che prescrive; in l’azione con massimo è ricarica (), di nuovo la scelta di . Dunque in ogni stato vale : la value function di soddisfa l’equazione di ottimalità di Bellman. Poiché è l’unica soluzione di quell’equazione (per la proprietà di contrazione di ), si conclude che
La policy prudente è la policy ottima di questo MDP, ed è deterministica, come garantito dal teorema di esistenza. Si osservi anche il ruolo diagnostico dei valori : la differenza quantifica esattamente quanto costerebbe, in return atteso, una singola deviazione verso la ricerca azzardata in .
In parole semplici: per certificare che una strategia è la migliore possibile non serve confrontarla con tutte le altre: basta controllare, stato per stato, che nessuna singola mossa alternativa abbia un più alto. Se nessuna deviazione di un solo passo conviene, allora nessuna strategia alternativa, per quanto complicata, può fare meglio: è tutto il potere della ricorsione di Bellman.
Glossario#
| Termine | Definizione |
|---|---|
| Feedback valutativo | Segnale che valuta la qualità dell’output prodotto, senza indicare l’output corretto; caratterizza il RL in contrapposizione al feedback istruttivo del supervisionato. |
| Agente | L’entità che apprende e decide: osserva lo stato, sceglie le azioni, riceve i reward. |
| Ambiente | Tutto ciò che è esterno all’agente: riceve le azioni e restituisce nuovo stato e reward. |
| Stato () | Descrizione della situazione corrente dell’ambiente, base per la decisione dell’agente. |
| Azione () | Scelta dell’agente al passo ; l’insieme disponibile può dipendere dallo stato. |
| Reward () | Valutazione numerica immediata dell’effetto di un’azione. |
| Delayed reward | Fenomeno per cui il segnale che certifica la bontà di una decisione arriva molti passi dopo la decisione stessa. |
| Proprietà di Markov | Stato e reward successivi dipendono solo da stato e azione correnti, non dalla storia; è una proprietà della definizione di stato. |
| Processo di Markov | Tupla : evoluzione casuale tra stati senza azioni né reward. |
| Markov Reward Process (MRP) | Tupla : processo di Markov arricchito con reward e discount. |
| MDP | Tupla : MRP con azioni che controllano transizioni e reward. |
| Dinamica one-step | Distribuzione che definisce completamente un MDP. |
| Ipotesi del reward | Assunzione che ogni obiettivo sia esprimibile come massimizzazione della somma attesa di un segnale scalare. |
| Return () | Somma (scontata) dei reward futuri, ; l’agente massimizza . |
| Task episodico / continuo | Interazione che termina in uno stato terminale / che prosegue indefinitamente. |
| Discount factor () | Fattore in che sconta i reward futuri: rende finito il return e regola la lungimiranza dell’agente. |
| Stato assorbente | Stato da cui non si esce e che produce reward zero; unifica task episodici e continui. |
| Policy () | Funzione di decisione dell’agente: deterministica o stocastica . |
| Policy Markoviana / stazionaria | Dipende solo dallo stato corrente / non cambia nel tempo. |
| State-value function () | Return atteso da uno stato seguendo : . |
| Action-value function () | Return atteso eseguendo in e poi seguendo : . |
| Equazione di aspettativa di Bellman | Decomposizione ricorsiva : sistema lineare in incognite. |
| Policy evaluation | Calcolo di per una policy data; in forma chiusa , costo . |
| Operatore di Bellman (, ) | Operatore di backup a un passo sulle funzioni di valore; è una -contrazione in norma del massimo, con punto fisso unico ( o ). |
| Ordinamento tra policy | se in ogni stato; è un ordinamento parziale. |
| Value function ottime (, ) | Massimo di e su tutte le policy, stato per stato. |
| Policy ottima () | Policy migliore o uguale a tutte le altre; in ogni MDP ne esiste almeno una deterministica. |
| Equazioni di ottimalità di Bellman | ; sistema non lineare per il , senza soluzione in forma chiusa. |
| Policy greedy | Policy che in ogni stato sceglie l’azione con valore massimo; greedy rispetto a dà . |
| Credit assignment | Problema di attribuire ai singoli passi di una sequenza il merito del risultato finale. |
Correzione flaggata: la slide riporta “” sotto questo esempio, ma i valori mostrati sono quelli di Sutton e Barto per (si verifichi , coerente con il ciclo ottimo di 5 passi ). Con , in un task continuo come questo, il return non sarebbe nemmeno finito.↩︎